使用Python绘制词云图(自定义形状)

您所在的位置:网站首页 Python 词云图片 使用Python绘制词云图(自定义形状)

使用Python绘制词云图(自定义形状)

2024-01-22 21:40| 来源: 网络整理| 查看: 265

1.使用Python需要事先准备的包

from wordcloud import WordCloud import os from os import path import matplotlib.pyplot as plt import jieba from imageio import imread

2.准备一个词云图的背景图片

就是想把词云图生成什么样子的背景,比如下图:

3.代码如下

from wordcloud import WordCloud import os from os import path import matplotlib.pyplot as plt import jieba from imageio import imread #读取图片 bg_pic = imread('C:\\Users\\Administrator\\Desktop\\0.png') comment_text=open('C:\\Users\\Administrator\\Desktop\\test.txt','r').read() cut_text=jieba.lcut(comment_text) print(cut_text) cut_text=filter(lambda x:len(x)>1,cut_text ) cut_text=list(cut_text) cut_text=' '.join(cut_text) print(cut_text) #第一个参数 字体路径 cloud=WordCloud( background_color='black', width=700, height=300, max_words=2000, max_font_size=40, mask=bg_pic#该属性 字体显示形状 在非白色部分显示!!! ) #放入的是文本文件(必须是分词后的) 就是字符串 word_cloud=cloud.generate_from_text(cut_text) plt.imshow(word_cloud) plt.axis('off')#去掉X Y 轴坐标 plt.show()

bg_pic就是我们要准备的词云图背景

comment_text 就是我们的文本文件。

上面的代码可以生成一个好看的词云图,但是如果是英文就没什么问题,可以正常生成,如果是中文的话,就会出现乱码的情况。

解决办法:

1.打开wordcloud.py文件

找到34行,默认是DrodiSansMono.ttf这个字体不满足中文的

所以要在这里进行字体文件更换,更换成中文的即可,可以自己在网上下载,也可以使用系统自带的字体。

我是使用系统自带的字体文件。

2.找到系统中支持中文的字体文件

这里面支持中文 ,随便复制一个到第一步骤中,如下所示:

然后在34行,替换成这个文件即可

FONT_PATH = os.environ.get('FONT_PATH', os.path.join(FILE, 'simsun.ttc'))

,再重新运行代码,就可以生成中文的词云图了,如下所示:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3